1. Field of the Invention
The present invention relates to non-volatile, rewritable memory and in particular, to methods and systems for refreshing non-volatile, rewritable memory arrays.
2. Description of the Related Art
In a typical FLASH memory array, the memory cells are arranged in a rectangular array of rows and columns to form intersections at which there are disposed memory cell transistors. The drain of each transistor is connected to a corresponding bit line, the source of each transistor is connected to an array source voltage by an array source line, and the gate of each transistor is connected to a wordline.
Typical FLASH memories allow cells to programmed, read or erased in bulk, sectors or pages. In addition, some FLASH memories can be operated in an EEPROM mode, where from the user perspective, cells can be programmed, read or erased on a byte basis. Cells are conventionally programmed by driving selected bitlines connected to the memory cell transistor drains to a first voltage and driving the gates of the memory cell transistors connected to selected wordlines to a second higher voltage to perform hot electron injection.
The erasure of FLASH memory cell data is performed by driving the gate of a memory cell transistor to a voltage that is substantially less than a voltage placed on the bitline. In doing so, electrons are tunneled off of the floating gate of the memory cell transistor. By way of example, the erase operation can be performed as a bulk erase, which erases the entire FLASH memory array, a sector erase, which erases a FLASH memory array sector, or a page erase, which erases a single sector row. If the FLASH memory can be operated in an EEPROM mode, then the erasure can, from the user perspective, be performed on a byte basis.
However, FLASH memories are subject to a disturb phenomenon during erase and program operations. Because memory cells may share the same bitlines across sectors, voltages placed on these bitlines produce electrical field effects on the sectors sharing the bitlines. Furthermore, memory cells within different sectors may share wordlines, and voltages on these shared wordlines create field effects in the sectors sharing them.
The electric fields generated on the shared bitlines and wordlines may have the effect of inadvertently erasing programmed bits or programming erased bits. For example, raising the voltage on a wordline to program an erased bit may disturb a previously programmed bit on the same wordline by removing some electrons from the floating gate to the control gate of the previously programmed bit. Thus, the sector cells need to be refreshed after each erase or program operation or after a predetermined number of erase or program cycles.
One conventional technique for performing refresh operations is to perform a refresh on an entire sector after each erase/program operation, where the contents of the sector to be refreshed are buffered and then rewritten. However, the buffer used to store the sector contents utilizes a significant amount of area and so the sector size may need to be constrained to reduce the buffer size. Another conventional technique for determining when to perform a refresh operation is to count the number of erase or program cycles using a counter, and performing a refresh after a predetermined number of cycles. However, such counters are often of insufficient reliability. Hence these conventional refresh techniques fail to provide a refresh process that is both efficient and reliable.
The present invention is directed to methods and systems for refreshing non-volatile memories, such as FLASH memories that can be operated in an EEPROM mode. In particular, one embodiment of the present invention embeds a refresh process in a write operation using a refresh token to identify which cells are to be evaluated to determine if the cells are to refreshed.
Using an embodiment of the present invention, if the cells associated with a given wordline can sustain more than N cycles without needing to be refreshed, then 1/N sectors can be sequentially refreshed after each erase or program operation. This is in contrast to some conventional techniques which refresh an entire sector after each erase or program operation. Advantageously, the present invention reduces the size needed for a refresh buffer and enables enlargement of the sector size by a factor N, without use of a refresh cycle counter.
A refresh indicator or signal is recorded using a nonvolatile bit, termed a xe2x80x9ctoken,xe2x80x9d or a xe2x80x9crefresh tokenxe2x80x9d associated with a wordline to identify that the cells coupled to the wordline are to be inspected so as to determine if the cells are to refreshed or not. If the token is set, the corresponding cells have their cell current measured.
If the cell current meets a predetermined criteria, the cell is refreshed. Thus, rather then refreshing every cell within a sector when performing a refresh operation, the refresh operation is performed on those cells whose cell current falls within a predetermined range.
The refresh operation can be embedded in a write operation. After each write operation, the token is transferred sequentially among wordline drivers, whether or not the wordline is selected in an erase or program portion of the write operation. In particular, the write operation includes 3 embedded operations: an erase operation, a program operation, and a refresh operation. During the refresh operation, a FLASH cell floating gate is charged using Channel Hot Electron injection (CHE) by providing a high bias on the gate and an elevate bias on the drain.